package com.plian.system.service.pm.property;

import com.plian.system.dto.pm.property.PropertyChartDTO;
import com.plian.system.vo.pm.property.TypeQuantityChange;
import com.plian.system.vo.report.ChartsVO;
import com.plian.system.vo.report.PieChartVO;

public interface IPropertyChartService {

    /**
     * @Description:  企业类型-饼图
     * @Author: Take-off
     * @Date: 1:30 PM 2023/5/23
     * @Param: [dto]
     * @return: com.plian.system.vo.report.PieChartVO
     **/
    PieChartVO getOrgTypeCake(PropertyChartDTO dto);

    /**
     * @Description:  组织层级-饼图
     * @Author: Take-off
     * @Date: 1:37 PM 2023/5/23
     * @Param: [dto]
     * @return: com.plian.system.vo.report.PieChartVO
     **/
    PieChartVO getProOrderCake(PropertyChartDTO dto);

    /**
     * @Description:  单位性质-饼图
     * @Author: Take-off
     * @Date: 1:37 PM 2023/5/23
     * @Param: [dto]
     * @return: com.plian.system.vo.report.PieChartVO
     **/
    PieChartVO getNatureCake(PropertyChartDTO dto);

    /**
     * @Description:  产权变动-折线图
     * @Author: Take-off
     * @Date: 2:55 PM 2023/5/23
     * @Param: [dto]
     * @return: com.plian.system.vo.pm.property.TypeQuantityChange
     **/
    TypeQuantityChange getProperChangeLine(PropertyChartDTO dto);

    /**
     * @Description:  产权变动-柱状图
     * @Author: Take-off
     * @Date: 3:00 PM 2023/5/23
     * @Param: [dto]
     * @return: com.plian.system.vo.report.ChartsVO
     **/
    ChartsVO getProperChangeBar(PropertyChartDTO dto);
}
